Page({
  data: {
    userInfo: {
      nickName: '',
      avatar: '',
    },
  },

  onLoad() {
    // 将我的页面 存储的用户信息 获取使用即可
    this.setData({
      userInfo: wx.getStorageSync('userInfo'),
    })
  },

  async getUserNickName(ev) {
    const nickName = ev.detail.value
    // console.log(ev)
    // 请求接口更新用户昵称
    const { code } = await wx.http.put('/userInfo', { nickName })
    if (code !== 10000) return wx.utils.toast('更新用户昵称失败')

    this.setData({
      'userInfo.nickName': nickName,
    })
  },

  getUserAvatar(ev) {
    // console.log(ev)
    const filePath = ev.detail.avatarUrl // 待上传的头像路径
    // 请求接口更新用户头像
    // 不对!!!
    // const {code, data} = await wx.http.post('/upload')
    // 微信请求接口 分为两种
    // 1. 一种是普通的数据请求 wx.request即可
    // 2. 一种是上传的接口    wx.uploadFile  默认post请求

    // username

    wx.showLoading({ title: '正在上传中...', mask: true })

    wx.uploadFile({
      // 服务器路径
      url: wx.http.baseURL + '/upload',
      // 上传的图片路径
      filePath,
      // 上传文件的键
      name: 'file',
      // 请求头
      header: {
        Authorization: getApp().token,
      },
      // 指定这次请求上传的是头像
      formData: {
        type: 'avatar',
      },
      success: (res) => {
        // console.log(res)
        // res.data // 响应的数据 json字符串格式
        const { code, data } = JSON.parse(res.data)
        if (code !== 10000) return wx.utils.toast()

        // 上传成功了之后, 获取 图片在服务器中的真正地址data.url 更新
        this.setData({
          'userInfo.avatar': data.url,
        })

        // wx.hideLoading()
      },
      fail() {
        // wx.hideLoading()
      },
      complete() {
        wx.hideLoading()
      },
    })
  },
})
